const express = require('express')
const router = express.Router()

/* //解决跨域--资源共享--配置在路由上面，让下方所有的路由接口实现共享
router.all("*", function (req, res, next) {
    //设置允许跨域的域名，*代表允许任意域名跨域
    res.header("Access-Control-Allow-Origin", "*");
    //允许的header类型
    res.header("Access-Control-Allow-Headers", "content-type");
    //跨域允许的请求方式 
    res.header("Access-Control-Allow-Methods", "DELETE,PUT,POST,GET,OPTIONS");
    if (req.method.toLowerCase() == 'options')
        res.send(200); //让options尝试请求快速结束
    else
        next();
}) */

//配置路由
//1.get请求传递参数 req.query 
router.get('/',(req,res)=>{
    console.log(req.query);
    //后端定义接受的变量名称
    let user = req.query.username;//username定义的接受的变量名 前端需要用这个名称
    let pwd = req.query.password;//password定义的接受的变量名 前端需要用这个名称
    //业务逻辑----- 
    //响应数据
    res.send({
        info:'输出数据',
        user,
        pwd
    })
})

//2. post 传递参数  req.body 
router.post('/login',(req,res)=>{
    // let user = req.body.user;
    // let mima = req.body.mima;
    //es6:解构赋值
    let {user,mima} = req.body;
    //模拟登录  账号和密码必须为 admin 123成功
    //业务逻辑：查询数据 
    if(user ==='admin' && mima ==='123'){
        res.send({
            msg:'success',
            status:200,
            info:'登录成功'
        })
    }else{
        res.send({
            msg:'',
            status:403,
            info:'账号或者密码错误'
        })
    }
})

//3. 学生信息 年龄> age(18)岁的同学的信息
//接口：http://localhost:3000/list 不传递参数返回所有的学生信息  传递年龄 返回年龄>age的学生信息
const data = require('./data/students')
router.get('/list',(req,res)=>{
    //资源共享 cors配置
    //设置允许跨域的域名，*代表允许任意域名跨域
    // res.header('Access-Control-Allow-Origin', '*')
    //接受变量 
    let num = req.query.age || 0;
    // console.log(data.arr);
    //方法1:---------------------------------------------------
    // let newArr=[];
    // for(let i=0;i<data.arr.length;i++){
    //     if(data.arr[i].age > 18){
    //         newArr.push(data.arr[i])
    //     }
    // }
    // res.send(newArr)
    //方法2：filter() ------------------------------------------
   let arr= data.arr.filter(ele=>{
       return ele.age > num
    })
    res.send(arr);
})

//filter() 过滤 -- 常用的方法
//语法： [2,3,4]=arr.filter(function(ele){ return ele>1 })  arr=[0,12,3,4]


module.exports= router;